gboolean move_focus);
static gboolean gtk_notebook_focus_tab (GtkNotebook *notebook,
GtkNotebookTab type);
-static void gtk_notebook_change_current_page (GtkNotebook *notebook,
+static gboolean gtk_notebook_change_current_page (GtkNotebook *notebook,
gint offset);
static void gtk_notebook_move_focus_out (GtkNotebook *notebook,
GtkDirectionType direction_type);
-static void gtk_notebook_reorder_tab (GtkNotebook *notebook,
+static gboolean gtk_notebook_reorder_tab (GtkNotebook *notebook,
GtkDirectionType direction_type,
gboolean move_to_last);
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
G_STRUCT_OFFSET (GtkNotebookClass, change_current_page),
NULL, NULL,
- _gtk_marshal_VOID__INT,
- G_TYPE_NONE, 1,
+ _gtk_marshal_BOOLEAN__INT,
+ G_TYPE_BOOLEAN, 1,
G_TYPE_INT);
notebook_signals[MOVE_FOCUS_OUT] =
g_signal_new (I_("move_focus_out"),
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
G_STRUCT_OFFSET (GtkNotebookClass, reorder_tab),
NULL, NULL,
- _gtk_marshal_VOID__ENUM_BOOLEAN,
- G_TYPE_NONE, 2,
+ _gtk_marshal_BOOLEAN__ENUM_BOOLEAN,
+ G_TYPE_BOOLEAN, 2,
GTK_TYPE_DIRECTION_TYPE,
G_TYPE_BOOLEAN);
/**
gtk_notebook_select_page (GtkNotebook *notebook,
gboolean move_focus)
{
- if (gtk_widget_is_focus (GTK_WIDGET (notebook)))
+ if (gtk_widget_is_focus (GTK_WIDGET (notebook)) && notebook->show_tabs)
{
gtk_notebook_page_select (notebook, move_focus);
return TRUE;
{
GList *list;
- if (gtk_widget_is_focus (GTK_WIDGET (notebook)))
+ if (gtk_widget_is_focus (GTK_WIDGET (notebook)) && notebook->show_tabs)
{
switch (type)
{
return FALSE;
}
-static void
+static gboolean
gtk_notebook_change_current_page (GtkNotebook *notebook,
gint offset)
{
GList *current = NULL;
+ if (!notebook->show_tabs)
+ return FALSE;
+
if (notebook->cur_page)
current = g_list_find (notebook->children, notebook->cur_page);
gtk_notebook_switch_page (notebook, current->data, -1);
else
gtk_widget_error_bell (GTK_WIDGET (notebook));
+
+ return TRUE;
}
static GtkDirectionType
return g_list_position (notebook->children, tab);
}
-static void
+static gboolean
gtk_notebook_reorder_tab (GtkNotebook *notebook,
GtkDirectionType direction_type,
gboolean move_to_last)
GList *last, *child;
gint page_num;
- if (!gtk_widget_is_focus (GTK_WIDGET (notebook)))
- return;
+ if (!gtk_widget_is_focus (GTK_WIDGET (notebook)) || !notebook->show_tabs)
+ return FALSE;
if (!notebook->cur_page ||
!notebook->cur_page->reorderable)
- return;
+ return FALSE;
if (effective_direction != GTK_DIR_LEFT &&
effective_direction != GTK_DIR_RIGHT)
- return;
+ return FALSE;
if (move_to_last)
{
TRUE);
if (!child || child->data == notebook->cur_page)
- return;
+ return FALSE;
page = child->data;
0,
((GtkNotebookPage *) notebook->focus_tab->data)->child,
page_num);
+
+ return TRUE;
}
+
+ return FALSE;
}
/**
gboolean move_focus);
gboolean (* focus_tab) (GtkNotebook *notebook,
GtkNotebookTab type);
- void (* change_current_page) (GtkNotebook *notebook,
+ gboolean (* change_current_page) (GtkNotebook *notebook,
gint offset);
void (* move_focus_out) (GtkNotebook *notebook,
GtkDirectionType direction);
- void (* reorder_tab) (GtkNotebook *notebook,
+ gboolean (* reorder_tab) (GtkNotebook *notebook,
GtkDirectionType direction,
gboolean move_to_last);